Ansible এ debug মডিউলটি প্লেবুক ডিবাগ করার জন্য একটি অত্যন্ত কার্যকর টুল। এটি আপনাকে চলমান প্লেবুকের ভিতরে বিভিন্ন ভ্যারিয়েবল এবং তাদের মান প্রদর্শন করতে সাহায্য করে, যা সমস্যা শনাক্তকরণ ও সমাধানে সহায়ক।
debug মডিউল ব্যবহার করার উদ্দেশ্য
- ভ্যারিয়েবল পরীক্ষা করা: চলমান প্লেবুকের সময় বিভিন্ন ভ্যারিয়েবলের মান দেখা।
- টাস্কের আউটপুট পরীক্ষা করা: টাস্কের আউটপুট দেখার জন্য।
- লজিক্যাল ত্রুটি শনাক্ত করা: কন্ডিশনাল লজিক এবং অন্যান্য অংশের ত্রুটি শনাক্তকরণে সহায়ক।
debug মডিউল ব্যবহার করার উদাহরণ
১. সাধারণভাবে ভ্যারিয়েবল প্রদর্শন
নিচের উদাহরণে একটি সাধারণ ভ্যারিয়েবল ডিবাগ করা হয়েছে:
---
- name: Debugging Example
hosts: localhost
vars:
my_variable: "Hello, Ansible!"
tasks:
- name: Show the value of my_variable
debug:
msg: "The value of my_variable is: {{ my_variable }}"
এখানে debug মডিউল ব্যবহার করে my_variable এর মান প্রদর্শন করা হয়েছে।
২. তালিকা ও Dictionary এর ভ্যারিয়েবল প্রদর্শন
ভ্যারিয়েবল তালিকা বা ডিকশনারি (dictionary) হলে, সেগুলোও সহজেই ডিবাগ করা যায়:
---
- name: Debug List and Dictionary
hosts: localhost
vars:
my_list:
- apple
- banana
- cherry
my_dict:
key1: value1
key2: value2
tasks:
- name: Show the list
debug:
var: my_list
- name: Show the dictionary
debug:
var: my_dict
এখানে my_list এবং my_dict এর মান আলাদা আলাদা ভাবে প্রদর্শন করা হয়েছে।
৩. একটি টাস্কের আউটপুট ডিবাগ করা
একটি টাস্কের আউটপুট ডিবাগ করতে, আপনি register নির্দেশক ব্যবহার করতে পারেন এবং পরে সেই রেজিস্টার করা ভ্যারিয়েবলটি ডিবাগ করতে পারেন:
---
- name: Debug Task Output
hosts: localhost
tasks:
- name: Get current date
command: date
register: date_output
- name: Show the output of the date command
debug:
var: date_output.stdout
এখানে, date কমান্ডের আউটপুট date_output ভ্যারিয়েবলে সংরক্ষণ করা হয়েছে এবং পরে তার stdout অংশটি ডিবাগ করা হয়েছে।
debug মডিউল এর অন্যান্য সুবিধা
- জটিল তথ্য প্রদর্শন: যখন তথ্য জটিল হয় (যেমন nested structures), তখন
debugমডিউলকে ব্যবহার করে সহজেই সেগুলোকে বুঝতে পারা যায়। - ত্রুটি শনাক্তকরণ: যখন প্লেবুকে সমস্যা হয়, তখন
debugমডিউল ব্যবহার করে ভ্যারিয়েবলের মান পরীক্ষা করা যায়, যা সমস্যা শনাক্তকরণে সাহায্য করে। - কন্ডিশনাল ডিবাগিং: আপনি যখন একটি নির্দিষ্ট শর্ত পূরণের উপর ভিত্তি করে ডিবাগিং করতে চান, তখন
whenস্টেটমেন্ট ব্যবহার করতে পারেন।
- name: Debug conditionally
debug:
msg: "The value of my_variable is {{ my_variable }}"
when: my_variable is defined
সংক্ষেপে
Ansible এ debug মডিউলটি একটি শক্তিশালী টুল যা প্লেবুকের ডিবাগিং প্রক্রিয়া সহজ করে। এটি বিভিন্ন ভ্যারিয়েবল, টাস্কের আউটপুট এবং লজিক্যাল ত্রুটিগুলো শনাক্ত করতে সহায়ক। debug মডিউল ব্যবহার করে আপনি আপনার প্লেবুকের কার্যকারিতা এবং ডাটা বুঝতে পারেন, যা ডিবাগিংয়ের সময় অপরিহার্য।